Method for demonstrating the dependence of a signal based on another signal

ABSTRACT

In order to test whether a given signal of a complex circuit has the correct behavior, a method is provided which makes it possible to obtain in a computer memory a profile of states of other signals. In order to minimize the processing time and the memory space required to obtain this profile, the method uses two binary decision diagrams starting with a binary variable of said one signal, each with two binary decision subdiagrams. The method combines the binary decision subdiagrams so that the given signal is in a first state when the binary variable is at a first value and is not in this first logical state when the binary variable is at a second value.

CROSS REFERENCE TO RELATED APPLICATION

The subject matter of the subject invention is related to application Ser. No. 10/049,023 filed on Feb. 8, 2002, in the names of Florence AKLI, Alain DEBREIL and Christian NIQUET, entitled “TOOL FOR AUTOMATIC TESTABILITY ANALYSIS”, the subject matter of which is incorporated herein in its entirety.

BACKGROUND OF THE INVENTION 1. Field of the Invention

The field of application of the invention is that of a method for indicating a combination of signals to be applied to a physical element in order to obtain a change in the state of a given signal following a change in the state of another signal on which the given signal depends.

2. Description of the Related Art

In complex physical elements, such as all or part of high-density integrated circuits, signals generated by these physical elements can depend on many other signals. It is therefore difficult to know if the physical element is behaving correctly.

Before etching into the silicon of electric circuits, the bad circuits must be detected in order to avoid using them. The technique used to sort the good circuits from the bad circuits is one that consists of applying stimuli to the circuit and comparing their responses to precalculated values.

In the case of a purely combinational circuit with two hundred inputs, it would be necessary to apply two to the power two hundred combinations of binary states in the inputs in order to test all the possible cases. A testing device operating at 50 MHz would take a thousand years to test a single circuit. These figures increase exponentially when there are stored states in the circuit.

It is therefore necessary to minimize the number of combinations of binary states to be applied to signals of the circuit in order to find the possible faults in the circuit.

For a first signal, normally generated by a physical element as a function of other signals applied to this physical element it is known from U.S. Pat. Nos. 5,434,794 and 5,737,242 to use binary decision diagrams to determine possible binary states of the first signal resulting from combinations of binary states of a second signal with binary states of third signals of the circuit.

The advantage of binary decision diagrams is that it is possible to represent in a computer memory, in a particularly compact way, the combinations of binary states of signals that lead to a given binary state of the first signal.

However, the binary decision diagrams of the prior art provide a static image of possible combinations of binary states of a second signal with third signals that produce a given binary state of the first signal. It is therefore possible for a combination of a first binary state of the second signal with binary states of third signals to produce the same given binary state of the first signal as a combination of a second binary state of the second signal with other binary states of third signals. Furthermore, it is possible to observe in the physical element either the given binary state of the first signal for the first binary state or the second binary state of the second signal, whereas the latter results not from binary combinations for which the physical element is designed, but from faults, such as a signal sticking in the physical element. Signal sticking means that a signal is in a state not intended by design, for example a state that results from a short circuit or from damage.

In order to ensure that the state of a first signal actually results from the state of a second signal, it is important to observe whether a state transition of the second signal induces a state transition of the first signal, the states of the other signals remaining unchanged. If, moreover, the transition of the first signal is does not match the transition expected, this may be interpreted as an error.

SUMMARY OF THE INVENTION

The subject of the invention is a method that associates, with a first signal generated by a physical element, two binary decision diagrams in two binary states of a second signal,

-   -   the first binary decision diagram comprising:     -   a first binary decision subdiagram that encodes a first set of         the combinations of binary states of third signals for which the         first signal is in a first binary state or in a second binary         state when the second signal is in the first binary state,     -   a second binary decision subdiagram that encodes a second set of         the combinations of binary states of the third signals for which         the first signal is in the first binary state or in the second         binary state when the second signal is in the second binary         state,     -   the second binary decision diagram comprising:     -   a third binary decision subdiagram that encodes a third set of         the combinations of binary states of the third signals for which         the first signal is in the second binary state or in a first         nonbinary state when the second signal is in the first binary         state,     -   a fourth binary decision subdiagram that encodes a fourth set of         the combinations of binary states of the third signals for which         the first signal is in the second binary state or in the first         nonbinary state when the second signal is in the second binary         state.

The method includes at least one step that performs a logical combination of the first, second, and at least one of the third or fourth binary decision subdiagrams, said logical combination comprising a logical conjunction of three of said four binary decision subdiagrams wherein one of said three binary decision subdiagrams is complemented, in order to generate a fifth binary decision subdiagram that encodes a fifth set of combinations of binary states of said third signals.

If the complemented binary decision subdiagram is the first binary decision subdiagram, the fifth set of the combinations of binary states of said third signals is such that the first signal is not in the first binary state or the second binary state when the second signal is in the first binary state, a disjunction with the second and third uncomplemented binary decision subdiagrams makes the fifth set of combinations of binary states of said third signals such that the first signal is in the first nonbinary state or the second nonbinary state when the second signal is in the first binary state, and such that the first signal is in the first binary state or in the second binary state when the second signal is in the second binary state. Thus, when the second signal is in the second binary state, the first signal is in the first or the second binary state, and when the second signal passes to the first binary state, the first signal passes to the first nonbinary state.

If the complemented binary decision subdiagram is the second binary decision subdiagram, the fifth set of the combinations of binary states of said third signals is such that the first signal is not in the first state or the second binary state when the second signal is in the second binary state, a disjunction with the first and fourth uncomplemented binary decision subdiagrams makes the fifth set of combinations of binary states of said third signals such that the first signal is in the first nonbinary state or the second binary state when the second signal is in the second binary state, and such that the first signal is in the first binary state or in the second binary state when the second signal is in the first binary state. Thus, when the second signal is in the first binary state, the first signal is in the first or the second binary state, and when the second signal passes to the second binary state, the first signal passes to the first nonbinary state.

If the complemented binary decision subdiagram is the third binary decision subdiagram, the fifth set of the combinations of binary states of said third signals is such that the first signal is not in the first binary state or the first nonbinary state when the second signal is in the first binary state, a disjunction with the first and second uncomplemented binary decision subdiagrams makes the fifth set of combinations of binary states of said third signals such that the first signal is in the first binary state or the second binary state when the second signal is in the second binary state, and such that the first signal is in the first binary state or in the second binary state when the second signal is in the first binary state. Thus, when the second signal is in the first binary state, the first signal is in the second binary state, and when the second signal passes to the second binary state, the first signal passes to the first nonbinary state.

Thus, in order to test whether a given signal of a complex circuit has the correct behavior, the method makes it possible to obtain in a computer memory a profile of states of other signals, among which a change in the state of one signal must cause a change in the state of the given signal, in a physical sample of the circuit. In order to minimize the processing time and the memory space required to obtain this profile, the method uses two binary decision diagrams starting with a binary variable of said one signal, each with two binary decision subdiagrams. The method combines the binary decision subdiagrams in such a way that the given signal is in a first state when the binary variable is at a first value and is not in this first state when the binary variable is at a second value.

BRIEF DESCRIPTION OF THE DRAWINGS

Other details and advantages of the invention will be more clearly understood in the following description in reference to the figures, in which:

FIG. 1 represents steps of a method for associating with a first signal at least two binary decision diagrams;

FIG. 2 represents steps of a method for associating with the first signal another binary decision diagram for which a change in the state of a second signal causes a change in the state of the first signal with a given state of a set of third signals;

FIGS. 3 and 4 represent physical elements for understanding the effect of the method on a simple example;

FIG. 5 represents two binary decision diagrams obtained using the method of FIG. 1, for the physical element of FIG. 3;

FIG. 6 represents a third binary decision diagram obtained using the method of FIG. 1, for the physical element of FIG. 3;

FIG. 7 represents an exemplary binary decision diagram obtained using the method according to the invention.

FIG. 8 presents additional steps of a method according to the invention.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

FIG. 1 represents steps of a method for associating with a first signal S_(i) at least two binary decision diagrams. These steps are executed by a computer that has in memory a connection list (netlist) of signals and physical elements that determines various relations between these signals. The intermediate and final results of the steps are automatically stored in memory in the computer.

In a first step 1, a pair of binary variables (x_(vi),x_(ci)) is assigned to a signal S_(i) in order to encode at least three possible states of the signal S_(i). The variable x_(ci), called a context variable, is defined in order to indicate that, when its value is equal to 1, the values 0 and 1 of the variable x_(vi), respectively, directly encode a first logical state B and a second logical state H of the signal S_(i). When the value of the context variable x_(ci) is equal to 0, the values 0 and 1 of the variable x_(vi) respectively encode an indeterminate state and a state Z of the signal S_(i). The state Z of the signal S_(i) is a high-impedance state in the sense in which the term is usually understood in an electric circuit. In the indeterminate state, there is an error state E of the signal S_(i) such as, for example, an electrical short circuit. The pair of binary variables (x_(vi),x_(ci)) thus makes it possible to encode four possible states of the signal S_(i).

In a second step 2, three binary decision diagrams T_(v)(S_(i)), T_(c)(S_(i)), T_(e)(S_(i)) are assigned to the signal S_(i).

The so-called context binary decision diagram T_(c)(S_(i)) is constructed by means of a rule Rc, so that it leads to 1 if the state of the signal S_(i) is the logical state B or the logical state H.

The so-called value binary decision diagram T_(v)(S_(i)) is constructed by means of a rule Rv, so that it leads to 1 if the state of the signal S_(i) is the high-impedance state Z or the logical state H.

The so-called error binary decision diagram T_(e)(S_(i)) is constructed by means of a rule Re, so that it leads to 1 if the state of the signal S_(i) is an error state.

The application of a rule Rc, Rv Re activates a third step 3, which scans the netlist in order to determine a combination Φ_(c), Φ_(v), Φ_(e), that links the states of the signals S_(i) to the states of one or more other signals S_(i+1), S_(i+2).

When the signal S_(i) does not depend on any other signal, each of the variables x_(vi), x_(ci) of the pair of variables (x_(vi),x_(ci)) can assume a value equal to 0 or 1. This is the case, for example, for an input signal of the electric circuit or for an intermediate signal that it is possible to force by means of a test probe. The binary decision diagrams T_(v)(S_(i)), T_(c)(S_(i)) are such that T_(v)(S_(i)) leads to 1 if x_(vi) is equal to 1, and T_(c)(S_(i)) leads to 1 if x_(ci) is equal to 1. The binary decision diagrams then being constructed immediately, an end step 6 is activated.

When the signal S_(i) depends on one or more signals S_(i+1), S_(i+2), a fourth step 4 makes the binary decision diagrams associated with the signal S_(i+1), S_(i+2) available. If the binary decision diagrams already exist in memory, this consists in a simple reading of pointers in these binary decision diagrams. If the binary decision diagrams do not exist in memory, it consists of reactivating the method recursively for the signal or signals S_(i+1), S_(i+2), etc.

A step 5 then combines the binary decision diagrams using the combinations determined in step 3.

Let us recall that a binary decision diagram T_(f) associated with a first boolean function f(a, b, c, . . . , w) of binary variables a, b, c, . . . w is accessible by means of a first computer data structure that makes it possible to represent in memory the values assumed by the first function f, based on the values assumed by the binary variables a, b, c, . . . w. This first data structure is constructed using the known properties of a Shannon decomposition relative to a first variable a, i.e., using the usual notations for writing logical functions:

where ƒ(a=0, b, c , . . . , w) is a second invariable boolean function based on a, since a is set at zero, and where ƒ(a=1, b, c, . . . , w) is a third invariable boolean function based on a since a is set at one. The second boolean function assumes the same values as the first boolean function based on the values assumed by the binary variables b, c, . . . , w when a=0. The third boolean function assumes the same values as the first boolean function based on the values assumed by the binary variables b, c, . . . , w when a=1. The first data structure therefore appears as a triplet of addresses of storage areas {a,f(a=0,b, . . . ),f(a=1,b, . . . )}, which therefore comprises a first node occupied by the first variable a, a left pointer to a second data structure {b,f(a=0,b=0, . . . ),f(a=0,b=1, . . . )} that makes it possible to access a first binary decision subdiagram associated with the second boolean function and a right pointer to a third data structure {b,f(a=1,b=0, . . . ),f(a=1,b=1, . . . )} that makes it possible to access a second binary decision subdiagram associated with the third boolean function. The second and third data structures being the same type as the first data structure with, respectively, a second and third node occupied by a second binary variable b, c. The above operation is repeated until the last binary variable w gives the binary decision diagram T_(f) constituted by a chaining {a,{b,{ . . . },{ . . . }},{b,{ . . . },{ . . . }}} of the structures by means of the pointers. An identifier of the binary decision diagram T_(f) points to the first node, called the root node.

The representation in memory of a function by a binary decision diagram offers the appreciable advantage of compactness because, if two or more binary decision subdiagrams are identical, only one representation in memory is enough, since two or more pointers can point to the same data structure. When a function is independent of a binary variable, the binary decision diagram is simplified. The representation in memory of a function by a binary decision diagram can be implicit in the sense that it is possible to perform calculations on the root node without necessarily extending the binary decision diagram for all of the nodes.

One advantageous property of binary decision diagrams results from the following statement on the Shannon decomposition. When a boolean function h(a,b,c, . . . , 2) results from a combinational operation Φ(f,g) of one or more boolean functions f(a,b,c, . . . ,w), g(a,b,c, . . . ,w): h(a,b,c, . . . ,w)=ā·h(a=0,b,c, . . . ,w)+a·h(a=1,b,c, . . . ,w) =ā·Φ(ƒ(a=0,b,c, . . . ,w),g(a=0,b,c, . . . ,w))+a·Φ(ƒ(a=1,b,c, . . . ,w),g(a=1,b,c, . . . ,w)) =Φ(ā·ƒ(a=0,b,c, . . . ,w),ā·g(a=0,b,c, . . . ,w))+Φ(a·f(a=1,b,c, . . . ,w),a·g(a=1,b,c, . . . ,w)) =Φ(ā·ƒ(a=0,b,c, . . . ,w)+a·ƒ(a=1,b,c, . . . ,w),ā·g(a=0,b,c, . . . ,w))+a·g(a=1,b,c, . . . ,w))

For example:

When Φ is a logical complement,

$\begin{matrix} {{h\left( {a,b,c,\ldots\mspace{11mu},w} \right)} = {\overset{\_}{f}\left( {a,b,c,\ldots\mspace{11mu},w} \right)}} \\ {{\overset{\_}{f}\left( {a,b,c,\ldots\mspace{11mu},w} \right)} = \overset{\_}{{\overset{\_}{a} \cdot {f\left( {{a = 0},b,c,\ldots\mspace{11mu},w} \right)}} + {a \cdot {f\left( {{a = 1},b,c,\ldots\mspace{11mu},w} \right)}}}} \\ {= {\left\lbrack \overset{\_}{\overset{\_}{a} \cdot {f\left( {{a = 0},b,c,\ldots\mspace{11mu},w} \right)}} \right\rbrack \cdot \overset{\_}{\left\lbrack {a \cdot {f\left( {{a = 1},b,c,\ldots\mspace{11mu},w} \right)}} \right\rbrack}}} \\ {= {\left\lbrack {a + \overset{\_}{f\left( {{a = 0},b,c,\ldots\mspace{11mu},w} \right)}} \right\rbrack \cdot \left\lbrack {\overset{\_}{a} + \overset{\_}{f\left( {{a = 1},b,c,\ldots\mspace{11mu},w} \right)}} \right\rbrack}} \\ {= {{\overset{\_}{a} \cdot {\overset{\_}{f}\left( {{a = 0},b,c,\ldots\mspace{11mu},w} \right)}} + {a \cdot {\overset{\_}{f}\left( {{a = 1},b,c,\ldots\mspace{11mu},w} \right)}}}} \end{matrix}$

The binary decision diagram associated with the logical complement of a function f includes the same node occupied by the variable a as the binary decision diagram associated with the function f in which the pointer in the binary decision subdiagram associated with the function f for a equal to zero is replaced by a pointer in a binary decision subdiagram associated with the logical complement of the function f for a equal to zero, and in which the pointer in the binary decision subdiagram associated with the function f for a equal to one is replaced by a pointer in a binary decision subdiagram associated with the logical complement of the function f for a equal to one.

When Φ is a logical disjunction of two functions f and g, h(a,b,c, . . . ,w)=ƒ(a,b,c, . . . ,w)·g(a,b,c . . . ,w) =ā·[ƒ(a=0,b,c, . . . ,w)·g(a=0,b,c, . . . ,w)]+a·[ƒ(a=1,b,c, . . . ,w)+g(a=1,b,c, . . . ,w)]

The binary decision diagram associated with the logical disjunction of two functions f and g includes the same node occupied by the variable a as the binary decision diagram associated with the function f in which the pointer in the binary decision subdiagram associated with the function f for a equal to zero is replaced by a pointer in a binary decision subdiagram associated with the logical disjunction of the function f for a equal to zero and the function g for a equal to zero, and in which the pointer in the binary decision subdiagram associated with the function f for a equal to one is replaced by a pointer in a binary decision subdiagram associated with the logical disjunction of the function f for a equal to one and the function g for a equal to one.

When Φ is a logical conjunction of two functions f and g, h(a,b,c, . . . ,w)=ƒ(a,b,c, . . . ,w)·g(a,b,c, . . . ,w) =ā·[ƒ(a=0,b,c, . . . ,w)·g(a=0,b,c, . . . ,w)]+a·[ƒ(a=1,b,c, . . . ,w)·g(a=1,b,c, . . . ,w)]

The binary decision diagram associated with the logical conjunction of two functions f and g includes the same node occupied by the variable a as the binary decision diagram associated with the function f in which the pointer in the binary decision subdiagram associated with the function f for a equal to zero is replaced by a pointer in a binary decision subdiagram associated with the logical conjunction of the function f for a equal to zero and the function g for a equal to zero, and in which the pointer in the binary decision subdiagram associated with the function f for a equal to one is replaced by a pointer in a binary decision subdiagram associated with the logical conjunction of the function f for a equal to one and the function g for a equal to one.

By proceeding recursively up to the last variable w of one or more functions f, g, it is possible to perform, in a simple way, any combinational operation Φ of one or more binary decision diagrams.

The binary decision diagram T_(c)(S_(i)) is constructed by means of the combination Φ_(c), which gives T_(v)(S_(i)) by replacing x_(vi+1), x_(ci+1), x_(vi+2), x_(ci+2), respectively, with the binary decision diagrams T_(v)(S_(i+1)), T_(c)(S_(i+1)), T_(e)(S_(i+1)), T_(v)(S_(i+2)), T_(c)(S_(i+2)), T_(e)(S_(i+2));

The binary decision diagram T_(v)(S_(i)) is constructed by means of the combination Φ_(v), which gives T_(v)(S_(i)) by replacing x_(vi+1), x_(ci+1), x_(vi+2), x_(ci+2), respectively, with the binary decision diagrams T_(v)(S_(i+1)), T_(c)(S_(i+1)), T_(v)(S_(i+1)), T_(v)(S_(i+2)), T_(c)(S_(i+2));

The binary decision diagram T_(e)(S_(i)) is constructed likewise by combining the binary decision diagrams T_(v)(s_(i+1)), T_(c)(s_(i+1)), T_(e)(s_(i+1)), T_(v)(s_(i+2)), T_(c)(s_(i+2)), T_(e)(s_(i+2)).

Let's apply, for example, the method described above to the elementary circuit of FIG. 3, which constitutes a multiplexer with three inputs.

A conductor 21 conveys a signal S₁. The conductor 21 is connected at a point 25 to three conductors 22, 23, 24 in parallel. The conductors 22, 23, 24 each convey a signal, respectively S₂, S₃, S₄. The coupling of the signals S₂, S₃ at the point 25 is equivalent to an intermediate signal S₁₁ coupled at the point 25 with the signal S₄.

The variable x_(v1) is equal to 1 if and only if the state of each of the signals S₂, S₃, S₄ is the high-impedance state Z or the logical state H.

The applicable rule R_(v) for constructing the binary decision diagram T_(v)(S₁₁) is a rule R_(vr) for two conductors coupled at the same point 25: T _(v)(S ₁₁)=T _(v)(S ₂)·T _(v)(S ₃).

T_(v)(S₁₁) now being present in memory, the rule R_(vr) is again applied to S₁₁ and S₄. T _(v)(S ₁)=T _(v)(S ₁₁)·T _(v)(S ₄).

An error occurs in the signal S₁₁ if one of the signals S₂, S₃ is in the logical state H while the other signal S₃, S₂ is in the logical state B, or if one of the signals S₂, S₃ is in the error state.

The applicable rule R_(v) for constructing the binary decision diagram T_(e)(S₁₁) is a rule R_(er) for two conductors coupled at the point 25: Te(s11)=Tc(s2)·Tc(s3)·└Tv(s2)·{overscore (Tv(s3))}+{overscore (Tv(s2))}·Tv(s3)┘+Te(s2)+Te(s3)

An error occurs in the signal S₁ if one of the signals S₁₁, S₄ is in the logical state H while the other signal S₄, S₁₁ is in the logical state B, or if one of the signals S₁₁, S₄ is in the error state.

The rule R_(er) is again applicable for constructing the binary decision diagram T_(e)(S₁). Te(s1)=Tc(s11)·Tc(s4)·└Tv(s11)·{overscore (Tv(s4))}+{overscore (Tv(s11))}·Tv(s4)┘+Te(s11)+Te(s4)

The variable xc₁ is equal to 1 if the state of the signal S₁ is the logical state B or the logical state H. The signal S₁₁ is in the state B or H if and only if the signal S₂ or the signal S₃ is in the logical state B or H and if no error results from the signals S₂ and S₃ in the signal S₁₁. The applicable rule R_(c) for constructing the binary decision diagram T_(c)(S₁₁) is a rule R_(cr) for two conductors coupled at the point 25: Tc(s11)=[Tc(s2)+Tc(s3)]·└{overscore (Tc(s2)·Tc(s3)·[Tv(s2)·{double overscore (Tv(s3))}{overscore (Tc(s2)·Tc(s3)·[Tv(s2)·{double overscore (Tv(s3))}{overscore (Tc(s2)·Tc(s3)·[Tv(s2)·{double overscore (Tv(s3))}{overscore (Tc(s2)·Tc(s3)·[Tv(s2)·{double overscore (Tv(s3))}+{double overscore (Tv(s2))}·Tv(s3))}]┘ Tc(s11)=[Tc(s2)+Tc(s3)]·└{overscore (Tc(s2))}+{overscore (Tc(s3))}+└{overscore (Tv(s2))}+Tv(s3)┘·└Tv(s2)+{overscore (Tv(s3))}|┘ Tc(s11)=+Tc(s2)·[{overscore (Tc(s3))}+{overscore (Tv(s2))}·{overscore (Tv(s3))}+Tv(s2)·Tv(s3)]+Tc(s3)·[{overscore (Tc(s2))}+{overscore (Tv(s2))}·{overscore (Tv(s3))}+Tv(s2)·Tv(s3)]

The rule R_(cr) is again applied for the signals S₁₁ and S₄: Tc(s1)=+Tc(s11)·[{overscore (Tc(s4))}+{overscore (Tv(s11))}·{overscore (Tv(s4))}+Tv(s11)·Tv(s4)]+Tc(s4)·[{overscore (Tc(s11))}+{overscore (Tv(s11))}·{overscore (Tv(s4))}+Tv(s11)·Tv(s4)]

If for S₂, T_(v)(S₂), T_(c)(S₂), T_(e)(S₂) are not present in memory, the second step is repeated for the signal S₂.

The conductor 22 is coupled to the drain of an N-type MOS transistor 27. The grid of the transistor 27 receives a signal S₅ and the source of the transistor 27 receives a signal S₆. In CMOS technology, the concept of a drain, and of a source, of a transistor is tied in a known way to its operating state; these two concepts are also interchangeable.

The signal S₂ is in the logical state H if and only if the signals S₅ and S₆ are in the logical state H. The signal S₂ is in the high-impedance state Z if and only if the signal S₅ is in the logical state B or if the signal S₅ is in the logical state H and the signal S₆ is in the high-impedance state Z. The rule R_(v) that is applied is a rule R_(vn): Tv(s2)=[Tc(s5)·Tv(s5)·Tc(s6)·Tv(s6)+Tc(s5)·{overscore (Tv(s5))}]+Tc(s5)·Tv(s5)·{overscore (Tc(s6))}·Tv(s6) Which with simplification yields: Tv(s2)=[Tc(s5)·Tv(s5)·Tv(s6)+Tc(s5)·{overscore (Tv(s5))}]

The signal S₂ is in the error state E if the signal S₅ is in the high-impedance state Z. In fact, a transistor grid hit by a high-impedance signal is particularly noise-sensitive. The rule R_(e) that is applied is a rule R_(en): Te(s2)=Tv(s5)·{overscore (Tc(s5))}

The signal S₂ is in the logical state B or H if and only if the signal S₅ is in the logical state H and the signal S₆ is in the logical state B or H. The rule R_(c) that is applied is a rule R_(cn): Tc(s2)=Tc(s5)·Tv(s5)·Tc(s6)

If for S₄, T_(v)(S₄), T_(c)(S₄), T_(e)(S₄) are not present in memory, the second step is repeated for the signal S₄.

The conductor 23 is coupled to the drain of an N-type MOS transistor 26. The grid of the transistor 26 receives a signal S₇ and the source of the transistor 26 receives a signal S₈.

The first two steps are executed for the signal S₃ using the same rules R_(vn), R_(cn) and R_(en) as for the signal S₂ in order to obtain: Tv(s3)=[Tc(s7)·Tv(s7)·Tv(s8)+Tc(s7)·{overscore (Tv(s7))}] Te(s3)=Tv(s7)·{overscore (Tc(s7))} Tc(s3)=Tc(s7)·Tv(s7)·Tc(s8)

The conductor 24 is coupled to the drain of a P-type MOS transistor 29. The grid of the transistor 29 receives a signal S₉ and the source of the transistor 27 receives a signal S₁₀.

The signal S₄ is in the logical state H if and only if the signals S₉ and S₁₀ are respectively in the logical state B and H. The signal S₄ is in the high-impedance state Z if and only if the signal S₉ is in the logical state H or if the signal S₉ is in the logical state B and the signal S₁₀ is in the high-impedance state Z. After simplification, the rule R_(v) that is applied is a rule R_(vp): Tv(s4)=[Tc(s9)·{overscore (Tv(s9))}·Tv(s10)+Tc(s9)·Tv(s9)]

The signal S₄ is in the error state E if the signal S₉ is in the high-impedance state Z. In fact, a transistor grid hit by a high-impedance signal is particularly noise-sensitive. The rule R_(e) that is applied is a rule R_(ep): Te(s4)=Tv(s9)·{overscore (Tc(s9))}

The signal S₄ is in the logical state B or H if and only if the signal S₉ is in the logical state B and the signal S₁₀ is in the logical state B or H. The rule R_(c) that is applied is a rule R_(cp): Tc(s4)=Tc(s9)·{overscore (Tv(s9))}·Tc(s10)

Thus, the binary decision diagrams T_(v)(S₁), T_(c)(S₁), T_(e)(S₁) are obtained as a function of the binary decision diagrams T_(v)(S₅), T_(c)(S₅), T_(v)(S₆), T_(c)(S₆), T_(v)(S₇), T_(c)(S₇), T_(v)(S₈), T_(c)(S₈), T_(v)(S₉), T_(c)(S₉), T_(v)(S₁₀), T_(c)(S₁₀).

If one is interested in the possible states of the signal S₁, for two possible logical states B and H of each of the signals S₅ through S₁₀, the third step is executed, wherein each of the binary decision diagrams T_(c)(S₅), T_(c)(S₆), T_(c)(S₇), T_(c)(S₈), T_(c)(S₉), T_(c)(S₁₀) equals 1 and wherein each of the binary decision diagrams T_(v)(S₅), T_(v)(S₆), T_(v)(S₇), T_(v)(S₈), T_(v)(S₉), T_(v)(S₁₀) is replaced, respectively, by each of the binary decision diagrams {x_(v5);0;1}, {x_(v6);0;1}, {x_(v7);0;1}, {x_(v8);0;1}, {x_(v9);0;1}, {x_(v10);0;1}. Thus, three binary decision diagrams T_(v)(S₁), T_(c)(S₁), T_(e)(S₁) are obtained with nodes occupied by the variables x_(v5), x_(v6), x_(v7), x_(v8), x_(v9), x_(v10) and with leaves at 0 or at 1.

In order to know, for example, which values of x_(v5), x_(v6), x_(v7), x_(v8), x_(v9), x_(v10) put the signal S₁ in the logical state H, a binary decision diagram T₁(S₁) is constructed using the rule R₁: T 1(s1)=Tv(s1)·Tc(s1)·{overscore (Te(s1))}

The binary decision diagram T₁(S₁) is scanned through each branch leading from the node occupied by the variable x_(v5), to a leaf occupied by the value 1, saving in a logical conjunction each variable x_(v5), x_(v6), x_(v7), x_(v8), x_(v9), x_(v10) encountered, as is if the scanning of the branch is done by means of the right pointer and complemented if the scanning of the branch is done by means of the left pointer. Each logical conjunction obtained by the scan through a branch is saved in a logical disjunction until all of the branches leading to a leaf occupied by the value 1 have been scanned. Thus, a logical equation of the circuit of FIG. 3 is obtained: s1=+s5·s6·s7·s8·{overscore (s9)} ·s10+s5·s6·s7·s8·s9+s5·s6·{overscore (s7)}· {overscore (s9)} ·s10 +{overscore (s5)}· s7·s8·s9+{overscore (s5)}· s7·s8·{overscore (s9)} ·s10+{overscore (s5)} ·{overscore (s7)} ·{overscore (s9)} ·s10+s5·s6·s7·{overscore (s9)}

Let's apply, for example, the method described above to the elementary circuit of FIG. 4, wherein five input signals S₁₆, S₁₇, S₁₈, S₁₉, S₂₁ are combined so as to generate a signal S₁₂.

The elementary circuit entity of FIG. 4 comprises two NMOS transistors 34 and 35, whose sources are respectively hit by the signals S₁₆ and S₁₈, whose grids are respectively hit by the signals S₁₇ and S₁₉, and whose drains respectively generate signals S₁₃ and S₁₄ in conductors 29 and 30. The elementary circuit entity of FIG. 4 also comprises two PMOS transistors 37 and 36, whose sources are respectively hit by the signal S₂₁, and a signal S₂₀, whose grids are respectively hit by the signals S₁₇ and S₁₉, and whose drains respectively generate the signal S₂₀ and a signal S₁₅ in conductors 32 and 31. The conductors 29, 30 and 31 are connected to a conductor 28 at a point 33.

The fifth step scans each of the signals S₁₆, S₁₇, S₁₈, S₁₉, S₂₁ of the netlist and for each signal scanned, executes the first two steps.

In the case where the sources of the transistors 34 and 35 are connected to the ground, the binary decision diagrams T_(v)(S₁₆), T_(c)(S₁₆), T_(e)(S₁₆), T_(v)(S₁₈), T_(c)(S₁₈), T_(e)(S₁₈) are respectively equal to the singletons {0}, {1}, {0}, {0}, {1}, {0}. In the case where the source of the transistor 37 is connected to the supply, the binary decision diagrams T_(v)(S₂₁), T_(c)(S₂₁), T_(e)(S₂₁) are respectively equal to the singletons {1}, {1}, {0}. In the case where the grids of the transistors 34 and 37 are connected to an input, necessarily set to a logical state 0 or 1, the binary decision diagrams T_(v)(S₁₇), T_(c)(S₁₇), T_(e)(S₁₇) are respectively {x_(v17),0,1}, {1}, {0}. In the case where the grids of the transistors 35 and 36 are connected to an input, necessarily set to a logical state B or H, the binary decision diagrams T_(v)(S₁₉), T_(c)(S₁₉), T_(e)(S₁₉) are respectively {x₁₉,0,1}, {1}, {0}. The elements of the elementary circuit hit by the signals s₁₆, s₁₇, s₁₈, s₁₉, s₂₁ of the net list are then scanned, in order to associate with the transistors 34, 35, 37, respectively, the signals S₁₃, S₁₄, S₁₅, for each of which steps 1 through 5 are executed.

For the transistor 34, the rules R_(vn), R_(cn) R_(en) are applied to the signal S₁₃, in the second step. Tv(s13)=[Tc(s17)·Tv(s17)·Tv(s16)+Tc(s17)·{overscore (Tv(s17))}] Tc(s13)=Tc(s17)·Tv(s17)·Tv(s16) Te(s13)=Tv(s17)·{overscore (Tc(s17))}

Which yields, when applying the known rules for combining binary decision diagrams: T _(v)(S ₁₃)={x _(v17),1,0} T _(c)(S ₁₃)={x _(v17),0,1} T _(e)(S ₁₃)={0}

For the transistor 35, the rules R_(vn), R_(cn) R_(en) are applied to the signal S₁₄, in the second step, so as to yield, in identical fashion: T _(v)(S ₁₄)={x _(v19),1,0} T _(c)(S ₁₄)={x _(v19),0,1} T _(e)(S ₁₄)={0}

For the transistor 37, the rules R_(vp), R_(cp) R_(ep) are applied to the signal S₂₀, in the second step. Tv(s20)=[Tc(s17)·{overscore (Tv(s17))}·Tv(s21)+Tc(s17)·Tv(s17)] Tc(s20)=Tc(s17)·{overscore (Tv(s17))}·Tc(s21) Te(s20)=Tv(s17)·{overscore (Tc(s17))}

Which yields, when applying the known rules for combining binary decision diagrams: T _(v)(S ₂₀)={1} T _(c)(S ₂₀)={x _(v17),1,0} T _(e)(S ₂₀)={0}

The sixth step is re-activated in order to scan the elements of the elementary circuit hit by the previously generated signals S₁₃, S₁₄, S₂₀ of the net list, and associates with these elements, which are the point 33 and the transistor 36, respectively the signals S₂₂ and S₁₅, for each of which it executes the first two steps.

For the point 33, the rules R_(vr), R_(cr) R_(en) are applied to the signal S₂₂, in the second step. Tv(S ₂₂)=Tv(S ₁₃)·Tv(S ₁₄) Tc(s22)=+Tc(s13)·[{overscore (Tc(s14))}+{overscore (Tv(s13))}·{overscore (Tv(s14))}+Tv(s13)·Tv(s14)]+Tc(s14)·[{overscore (Tc(s13))}+{overscore (Tv(s13))}·{overscore (Tv(s14))}+Tv(s13)·Tv(s14)] Te(s22)=Tc(s13)·Tc(s14)·└Tv(s13)·{overscore (Tv(s14))}+{overscore (Tv(s13))}·Tv(s14)┘

Which yields, when applying the known rules for combining binary decision diagrams: T _(v)(S ₂₂)={x _(v17) ,{x _(v19),1,0},0} T _(c)(S ₂₂)={x _(v17) ,{x _(v19),0,1},1} T _(e)(S ₂₂)={x _(v17),0{x _(v19),0,0}}={0}

For the transistor 36, the rules R_(vp), R_(cp) R_(ep) are applied to the signal S₁₅, in the second step. Tv(s15)=[Tc(s19)·{overscore (Tv(s19))}·Tv(s20)+Tc(s19)·Tv(s19)] Tc(s15)=Tc(s19)·{overscore (Tv(s19))}·Tc(s20) Te(s15)=Tv(s19)·{overscore (Tc(s19))}

Which yields, when applying the known rules for combining binary decision diagrams: T _(v)(S ₁₅)={1} T _(c)(S ₁₅)={xv ₁₇ ,{x _(v19),1,0},0} T _(e)(S ₁₅)={0}

The sixth step is re-activated in order to scan the elements of the elementary circuit hit by the previously generated signals S₂₂, S₁₅ of the netlist and associates with the only element found, which is the point 33, the signal S₁₂, for which it executes the first two steps.

For the point 33, the rules R_(vr), R_(cr), R_(er) are applied to the signal S₁₂, in the second step. Tv(S ₁₂)=Tv(S ₂₂)·Tv(S ₁₅) Tc(s12)=+Tc(s22)·[{overscore (Tc(s15))}+{overscore (Tv(s22))}·{overscore (Tv(s15))}+Tv(s22)·Tv(s15)]+Tc(s15)·[{overscore (Tc(s22))}+{overscore (Tv(s22))}·{overscore (Tv(s15))}+Tv(s22)·Tv(s15)] Te(s12)=Tc(s22)·Tc(s15)·└Tv(s22)·{overscore (Tv(s15))}+{overscore (Tv(s22))}·Tv(s15)┘

Which yields, when applying the known rules for combining binary decision diagrams: T _(v)(S ₁₂)={x _(v17) ,{x _(v19),1,0},0} T _(c)(S ₁₂)={x _(v17),1,{x _(v19),1,1}}={1} T _(e)(S ₁₂)={x _(v17),0,{x _(v19),0,0}}={0}

The only remaining signal being the signal S₁₂, the fourth step yields the binary decision diagram T_(log)(S12) using the rule R_(log): T _(log)(S ₁₂)=T _(v)(S ₁₂)·T _(c)(S ₁₂) ={x _(v17) ,{x _(v19),1,0},0}

The binary variable x_(v12) is in the logical state 1 for the branches of the binary decision diagram T_(log)(S₁₂) that lead to 1. This is written: xv12 ={overscore (xv17)}·{overscore (xv19)}

In the fourth step, the circuit of FIG. 4 is recognized as being a NOR gate.

FIG. 2 represents steps of the method for indicating, in connection with a physical element generating a first signal (S₁₁) as a function of a second signal (S₅) and third signals (S₆, S₇, S₈), a combination of states of said third signals such that a state change of said second signal changes said first signal from a binary state to a nonbinary state.

Associated with a signal S_(i) are two or three binary decision diagrams T_(c)(S_(i))={x_(vj),fi0,fi1}, T_(v)(S_(i))={x_(vj),gi0,gi1}, T_(e)(S_(i))={x_(vj),ei0,ei1}, wherein fi0, gi0, ei0 are pointers in binary decision subdiagrams when x_(vj) is equal to 0, and wherein fi1, gi1, ei1 are pointers in binary decision subdiagrams when x_(vj) is equal to 1, x_(cj) being in all cases considered equal to 1, since in this case only the binary states B, H of the signal s_(j) with which the variable x_(vj) is associated are considered. For simplicity's sake, these pointers will be likened to the binary decision subdiagrams to which they point. The method described is valid for any signal S_(k) with which a variable x_(vk) is associated by re-ordering, in a known way, the binary decision diagrams so to move x_(vk) up to the root of the binary decision diagram.

The values at 1 in the binary decision subdiagram fi0 encode combinations of variables x_(vn), for which the variable x_(ci) has the value 1, which means that the signal S_(i) is in one of the binary states B or H when the variable x_(vj) has the value 0.

The values at 1 in the binary decision subdiagram fi1 encode combinations of variables x_(vn) for which the variable x_(ci) has the value 1, which means that the signal S_(i) is in one of the binary states B or H when the variable x_(vj) has the value 1.

The values at 1 in the binary decision subdiagram gi0 encode combinations of variables x_(vn) for which the variable x_(vi) has the value 1, which means that the signal S_(i) is in the binary state H or in the nonbinary state Z when the variable x_(vj) has the value 0.

The values at 1 in the binary decision subdiagram gi1 encode combinations of variables x_(vn) for which the variable x_(vi) has the value 1, which means that the signal S_(i) is in the binary state H or in the nonbinary state Z when the variable x_(vj) has the value 1.

The values at 1 in the binary decision subdiagram ei0 encode combinations of variables x_(vn) for which the variables x_(ci), x_(vi) have the value 0, which means that the signal S_(i) is in an indeterminate state like the nonbinary state E when the variable x_(vj) has the value 0.

The values at 1 in the binary decision subdiagram ei0 encode combinations of variables x_(vn) for which the variables x_(ci), x_(vi) have the value 0, which means that the signal S_(i) is in an indeterminate state like the nonbinary state E when the variable x_(vj) has the value 1.

In the remainder of the description, the symbol

placed before a reference of a binary decision diagram indicates that the binary decision diagram is complemented in the known way according to the above.

A step 8 generates a binary decision subdiagram Cpi0 by combining the binary decision subdiagrams mentioned above using the formula: Cpi0=fi0·

ei0·(ei1+gi1·

fi1).

The combination gi1·

fi1 encodes combinations of variables x_(vn) for which the variable x_(vi) has the value 1, which means that the signal S_(i) is in the binary state H or in the nonbinary state Z, and for which the variable x_(ci) does not have the value 1, which means that the signal S_(i) is not in one of the binary states B or H when the variable x_(vj) has the value 1. The disjunction of this combination with ei1 thus encodes the combinations of variables x_(vn) for which the signal S_(i) is not in one of the binary states B or H when the variable x_(vj) has the value 1. The combination fi0·

ei0 encodes combinations of variables x_(vn) for which the variable x_(vi) has the value 1, which means that the signal S_(i) is in the binary state H or in the nonbinary state Z, and for which the variable x_(ci) does not have the value 0, which means that the signal S_(i) is not in a nonbinary state, when the variable x_(vj) has the value 0. The disjunction of this last combination with ei1 thus encodes the combinations of variables x_(vn) for which the signal S_(i) is in one of the binary states B or H when the variable x_(vj) has the value 0, and is not in one of the binary states B or H when the variable x_(vj) has the value 1.

The values at 1 in Cpi0 correspond to a set of combinations of values x_(vn) for which S_(i) is in a binary state when x_(vj) is not at the value 1, and for which S_(i) is not in a binary state when x_(vj) is in the value 1.

Thus, for the combinations at 1 of the variables x_(vn), the signal S_(i) changes from a binary state to a nonbinary state when the signal S_(j) changes from the first state B to the second state H.

When the physical element is such that the state of the signal S_(i) is never indeterminate, the binary decision subdiagram e₁₁ is always at 0 and the binary decision subdiagram

e₁₀ is always at 1. These binary decision subdiagrams have not been taken into consideration in a step 7, which in this case uses the following simplified formula for generating the binary decision subdiagram Cpi0: Cpi0=fi0·gi1·

fi1).

A step 10 generates a binary decision subdiagram Cpi1 by combining the binary decision subdiagrams mentioned above using the formula: Cpi1=fi1·

ei1·(ei0+gi0·

fi0).

The combination gi0·

fi0 encodes combinations of variables x_(vn) for which the variable x_(vi) has the value 1, which means that the signal S_(i) is in the binary state H or in the nonbinary state Z, and for which the variable x_(ci) does not have the value 1, which means that the signal S_(i) is not in one of the binary states B or H when the variable x_(vj) has the value 0. The disjunction of this combination with ei0 thus encodes the combinations of variables x_(vn) for which the signal S_(i) is not in one of the binary states B or H when the variable x_(vj) has the value 0. The combination fi1·

ei1 encodes combinations of variables x_(vn) for which the variable x_(vi) has the value 1, which means that the signal S_(i) is in the binary state H or in the nonbinary state Z, and for which the variable x_(ci) does not have the value 0, which means that the signal S_(i) is not in a nonbinary state, when the variable x_(vj) has the value 1. The disjunction of this last combination with ei0 thus encodes the combinations of variables x_(vn) for which the signal S_(i) is in one of the binary states B or H when the variable x_(vj) has the value 1, and is not in one of the binary states B or H when the variable x_(vj) has the value 0.

The values at 1 of Cpi1 correspond to a set of combinations of values x_(vn) for which S_(i) is in a binary state when x_(vj) is not at the value 0, and for which S_(i) is not in a binary state when x_(vj) is at the value 0.

Thus, for the combinations at 1 of the variables x_(vn), the signal S_(i) changes from a binary state to a nonbinary state when the signal S_(j) changes from the second state H to the first state B.

When the physical element is such that the state of the signal S_(i) is never indeterminate, the binary decision subdiagram e₁₁ is always at 0 and the binary decision subdiagram

e₁₀ is always at 1. These binary decision subdiagrams have not been taken into consideration in a step 9, which in this case uses the following simplified formula for generating the binary decision subdiagram Cpi1: Cpi1=fi1·gi0·

fi0).

A step 11 generates a binary decision diagram Cp(Si,sj) with the variable x_(vj) at its root, a left branch equal to the subdiagram Cpi0 and a right branch equal to the subdiagram Cpi1. The values at 1 of this binary decision subdiagram encode the combinations of signals S_(n) for which a binary state change of the signal S_(j) changes the signal S_(i) from a binary state to a nonbinary state.

A step 13 generates a binary decision subdiagram Cdi0 by combining the binary decision subdiagrams mentioned above using the formula: Cdi0=fi0·

gi0·

ei0·fi1·gi1·

ei1.

The combination gi1·fi1 encodes combinations of variables x_(vn) for which the variable x_(vi) has the value 1, which means that the signal S_(i) is in the binary state H or in the nonbinary state Z, and for which the variable x_(ci) has the value 1, which means that the signal S_(i) is in the binary state H when the variable x_(vj) has the value 1. The conjunction of this combination with

ei1 thus encodes the combinations of variables x_(vn) for which the signal S_(i) is in the binary state H when the variable x_(vj) has the value 1. The combination fi0·

ei0 encodes combinations of variables x_(vn) for which the variable x_(vi) has the value 1, which means that the signal S_(i) is in the binary state H or in the binary state B, and for which the variable x_(ci) does not have the value 0, which means that the signal S_(i) is not in a nonbinary state, when the variable x_(vj) has the value 0. The conjunction of this last combination with

gi0 thus encodes the combinations of variables x_(vn) for which the signal S_(i) is in the binary state B when the variable x_(vj) has the value 0, and is not in a nonbinary state when the variable x_(vj) has the value 0.

The values at 1 of Cdi0 correspond to a set of combinations of values x_(vn) for which S_(i) is in a binary state B when x_(vj) is not at the value 0, and for which S_(i) is in a binary state H when x_(vj) is at the value 1.

Thus, for the combinations at 1 of the variables x_(vn), the signal S_(i) changes from a binary state B to a binary state H when the signal S_(j) changes from the first state B to the second state H. Symmetrically, the signal S_(i) changes from a binary state H to a binary state B when the signal S_(j) changes from the first state B to the second state H.

When the physical element is such that the state of the signal S_(i) is never indeterminate, the binary decision subdiagram e₁₁ is always at 0 and the binary decision subdiagram

e₁₀ is always at 1. These binary decision subdiagrams have not been taken into consideration in a step 12, which in this case uses the following simplified formula for generating the binary decision subdiagram Cdi0: Cdi0=fi0·

gi0·fi1·gi1·.

A step 15 generates a binary decision subdiagram Cii(s_(i),s_(j)) by combining the binary decision subdiagrams mentioned above using the formula: Cii(s _(i) ,s _(j))=fi0·

gi1·

ei0·fi1·gi0·

ei1.

The combination gi0 fi0 encodes combinations of variables x_(vn) for which the variable x_(vi) has the value 1, which means that the signal S_(i) is in the binary state H when the variable x_(vj) has the value 0. The conjunction of this combination with

ei1 thus encodes the combinations of variables x_(vn) for which the signal S_(i) is not in an indeterminate state when the variable x_(vj) does not have the value 0. The combination fi1·

gi1 encodes combinations of variables x_(vn) for which the variable x_(vi) has the value 0, which means that the signal S_(i) is in the binary state B when the variable x_(vj) has the value 1. The conjunction of this last combination with

ei0 thus encodes the combinations of variables x_(vn) for which the signal S_(i) is not in an indeterminate state, when the variable x_(vj) does not have the value 1.

The values at 1 of Cii(S_(i),S_(j)) correspond to a set of combinations of values x_(vn) for which S_(i) is in a binary state H when x_(vj) is at the value 0, and for which S_(i) is in a binary state B when x_(vj) is at the value 1.

Thus, for the combinations at 1 of the variables x_(vn), the signal S_(i) changes from a binary state H to a binary state B when the signal S_(j) changes from the first state B to the second state H. Symmetrically, the signal S_(i) changes from a binary state B to a binary state H when the signal S_(j) changes from the second state H to the first state H.

When the physical element is such that the state of the signal S_(i) is never indeterminate, the binary decision subdiagram e₁₁ is always at 0 and the binary decision subdiagram

e₁₀ is always at 1. These binary decision subdiagrams have not been taken into consideration in a step 14, which in this case uses the following simplified formula for generating the binary decision subdiagram Cii(S_(i),S_(j)): Cii(S _(i) ,S _(j))=fi0·

gi1·fi1·gi0.

Steps 7 through 15 have in common the generation of a binary decision diagram wherein the values at 1 correspond to a first state of the signal S_(i) when x_(vj) is at a first value and to a second, different state when x_(vj) is not at the first value.

Returning to the elementary circuit of FIG. 3, the three binary decision diagrams are developed recursively from each of the binary decision diagrams T_(c)(S₅), T_(c)(S₆), T_(c)(S₇), T_(c)(S₈), T_(c)(S₉), T_(c)(S₁₀) valued at 1, and from each of the binary decision diagrams T_(v)(S₅), T_(v)(S₆), T_(v)(S₇), T_(v)(S₈), T_(v)(S₉), T_(v)(S₁₀), respectively replaced by each of the binary decision diagrams {x_(v5);0;1}, {x_(v6);0;1}, {x_(v7);0;1}, {x_(v8);0;1}, {x_(v9);0;1}, {x_(v10);0;1}. Thus we obtain, in alphanumeric order:

For S₄: Tv(s4)=[Tc(s9)·{overscore (Tv(s9))}·Tv(s10)+Tc(s9)·Tv(s9)] Tv(S ₄)={x _(v9) ;{x _(v10);0;1};0}+{x _(v9);0;1} Tv(S ₄)={x _(v9) ;{x _(v10);0;1};1} Tc(s4)=Tc(s9)·{overscore (Tv(s9))}·Tc(s10) Tc(S ₄)={x _(v9);1;0} T _(e)(S ₄)={0}

For S₃: Tv(s3)=[Tc(s7)·Tv(s7)·Tv(s8)+Tc(s7)·{overscore (Tv(s7))}] Tv(S ₃)={x _(v7);0;{x _(v8);0;1}}+{x _(v7);1;0} Tv(S ₃)={x _(v7);1;{x _(v8);0;1}} Tc(s3)=Tc(s7)·Tv(s7)·Tc(s8) Tc(S ₃)={x _(v7);0;1} T _(e)(S ₃)={0}

For S₂: Tv(S2)={x _(v5);1;{x _(v6);0;1}} Tc(S ₂)={x _(v5);0;1} T _(e)(S ₂)={0}

For S₁₁: Tc(s11)=+Tc(s2)·[{overscore (Tc(s3))}+{overscore (Tv(s2))}·{overscore (Tv(s3))}+Tv(s2)·Tv(s3)]+Tc(s3)·[{overscore (Tc(s2))}+{overscore (Tv(s2))}·{overscore (Tv(s3))}+Tv(s2)·Tv(s3)]

The rules for combining binary decision diagrams yield the binary decision diagram Tc(S₁₁) represented in FIG. 5, i.e. a triplet {x_(v5);f₁₀;f₁₁}

Where f₁₀ is a pointer in a binary decision subdiagram {x_(v7);0;1} and where f₁₁ is a pointer in a binary decision subdiagram. {x_(v6);{x_(v7);1;{x_(v8);1;0}};{x_(v7);1;{x_(v8);0;1}}} T _(v)(S ₁₁)=T _(v)(S ₂)·T _(v)(S ₃).

The rules for combining binary decision diagrams yield the binary decision diagram Tc(S₁₁) represented in FIG. 5, i.e. a triplet {x_(v5);f₁₀;f₁₁}

Where g₁₀ is a pointer in a binary decision subdiagram {x_(v7);1;{x_(v8);0;1}} and where g₁₁ is a pointer in a binary decision subdiagram {x_(v6);0;{x_(v7);1;{x_(v8);0;1}}}. Te(s11)=Tc(s2)·Tc(s3)·└Tv(s2)·{overscore (Tv(s3))}+{overscore (Tv(s2))}·Tv(s3)┘+Te(s2)+Te(s3)

The rules for combining binary decision diagrams yield the binary decision diagram Te(S₁₁) represented in FIG. 6, i.e. a triplet {x_(v5);e₁₀;e₁₁}

Where e₁₀ is a pointer in a binary decision subdiagram {0} and where e₁₁ is a pointer in a binary decision subdiagram {x_(v6);{x_(v7);0;{x_(v8);0;1}}; {x_(v7);0;{x_(v8);1;0}}}.

The binary decision subdiagram Cp(S₁₁,S₅)={x_(v5);cp₁₀;cp₁₁} is generated in step 11 with: cp10=ƒ10·{overscore (e10)}·(e11+{overscore (ƒ11)}·g11)

When applying the rules for combining binary decision diagrams, cp₁₀ points to a binary decision subdiagram {x_(v6);{x_(v7);0;{x_(v8);0;1}}; {x_(v7);0;{x_(v8);1;0}}}}}. cp11=ƒ11·{overscore (e11)}·(e10+{overscore (ƒ10)}·g10)

When applying the rules for combining binary decision diagrams, cp 11 points to a binary decision subdiagram {x_(v6);{x_(v7);1;{x_(v8);1;0}};0}.

Which results in the binary decision diagram Cp(S₁₁,S₅) represented in FIG. 7.

A scan of the branches of the binary decision diagram Cp(S₁₁,S₅) that lead to the value 1 yields the following logical combinations of variables:

-   -   for v_(v5) initially at zero:         {overscore (xv6)}·xv7·xv8+xv6·xv7·{overscore (xv8)}=1     -   for x_(v5) initially equal to 1:         {overscore (xv6)}·{overscore (xv7)}+{overscore         (xv6)}·xv7·{overscore (xv8)}=1

When a binary state is applied to each of the signals S₅, S₆, S₇, S₈, the variables x_(c5) x_(c6) x_(c7) x_(c8) all have the value 1, and the values at 0, and respectively the values at 1, of the variables x_(c5) x_(c6) x_(c7) x_(c8) represent the states B, and respectively H, of the signals S₅, S₆, S₇, S₈.

The first combination indicates that when the set of signals {S₆, S₇, S₈} is set to the states {B, H, H} or respectively {H, B, B}, the change of the signal S₅ from a state B to H changes the signal S₁₁ from a binary state, in this case H or respectively B, to a nonbinary state, in this case an error state.

The second combination indicates that when the set of signals {S₆, S₇} is set to the states {B, B}, or respectively when the set of signals {S₆, S₇, S₈} is set to the states {B, H B}, the change of the signal S₅ from a state H to B, changes the signal S₁₁ from a binary state, in this case B, to a nonbinary state, in this case a high-impedance state, or respectively an error state.

Steps 12 and 14 or 13 and 15 of the method described above make it possible to obtain, for an output signal S₁₁, a direct context binary decision diagram Cd(S₁₁, S₅) and an inverse context binary decision diagram Ci(S₁₁, S₅) for each input signal S₅ on which the signal S₁₁ depends.

A scan of each branch of the direct context binary decision diagram Cd(S₁₁, S₅) that leads to 1 yields a logical conjunction of binary states of signals S₆, S₇, S₈, etc., for which a binary state change of the signal S₅ is sensed to cause the same binary state change of the signal S₁₁, A scan of each branch of the inverse context binary decision diagram Ci(S₁₁, S₅) that leads to 1 yields a logical conjunction of binary states of signals S₆, S₇, S₈, etc., for which a binary state change of the signal S₅ is sensed to cause an inverse binary state change of the signal S₁₁

By applying a combination of binary states to the signals S₆, S₇, S₈, etc., in a material sample of the circuit tested, in such a way that a logical conjunction found in the preceding paragraph is at 1, a detection of a behavior of the output signal S₁₁ that does not match the binary state change sensed to have been caused by a binary state change test of the signal S₅, indicates a fault in this material sample. A material sample for which a fault is indicated must be declared unfit for use.

By repeating the preceding operation with S₆, S₇, S₈, etc., as a test signal, it is possible to make sure that the behavior of the signal S₁₁ matches a binary state change of each of the signals S₆, S₇ S₈.

In order to reduce the number of input signals to be tested, the method advantageously includes the following additional steps.

In a step 61, a binary decision diagram S(₁₁, S₅) is constructed as being a logical disjunction of the direct Cd(S₁₁, S₅) and inverse Ci(S₁₁, S₅) context binary decision diagrams. S(S ₁₁ ,S ₅)=Cd(S ₁₁ ,S ₅)+Ci(S ₁₁ ,S ₅)

In a step 62, for a signal S₆, a binary decision diagram S(₁₁, S₆) is constructed as being a logical disjunction of the direct Cd(S₁₁,S₆) and inverse Ci(S₁₁,S₆) context binary decision diagrams. S(S ₁₁ ,S ₆)=Cd(S ₁₁ ,S ₆)+Ci(S ₁₁ ,S ₆)

-   -   for the pair of signals S₅, S₆, a binary decision diagram S(S₁₁,         S₅, S₆) is constructed as being a logical conjunction of the         binary decision diagrams S(S₁₁, S₅) and S(S₁₁,S₆)         S(S ₁₁ ,S ₅ , S6)=S(S ₁₁ ,S5)·S(S ₁₁ ,S ₆)

In a step 63, the binary decision diagram S(S₁₁,S₅, S₆) is ordered so as to begin with the variables xv₅, xv₆. If the binary decision diagram S(S₁₁,S₅, S₆) exists in the form of a binary decision diagram a(xv₇, xv₈, . . . ) independent of xv₅ and xv₆, the branches of the binary decision diagram a(xv₇, xv₈, . . . ) are scanned in a step 64. The first branch that leads to 1 yields a logical conjunction of binary states of signals S₇, S₈, etc., for which a binary state change of the signal S₅ is sensed to cause a binary state change of the signal S₁₁ and for which a binary state change of the signal S₆ is sensed to cause a binary state change of the signal S₁₁. In essence, with the construction of S(S₁₁,S₅, S6), the logical conjunction of binary states of signals S₇, S₈, etc., thus found simultaneously verifies S(S₁₁,S₅) and S(S₁₁,S₆).

By applying a combination of binary states to the signals S₇, S₈, etc., in a material sample of the circuit tested, in such a way that a logical conjunction found in the preceding paragraph is at 1, a detection of a behavior of the output signal S₁₁ that does not match the binary state change sensed to have been caused by a binary state change test of the signal S₅, or a detection of a behavior of the output signal S₁₁ that does not match the binary state change sensed to have been caused by a binary state change test of the signal S₆, indicates a fault in this material sample. A material sample for which a fault is indicated must be declared unfit for use.

Thus, the same binary state profile of signals S₇, S₈, etc., makes it possible to test whether the change of the signal S₁₁ matches both signals S5 and S₆. When such a profile is found by executing steps 61 through 63, a it saves time in the testing of a material sample of the circuit, since this same profile makes it possible to test the change of two different input signals.

If the binary decision diagram S(S₁₁,S₅,S₆) is not present in step 63 in the form of a binary decision diagram a(xv₇, xv₈, . . . ) independent of xv₅ and xv₆, the signal S₆ is saved in an auxiliary list in order to apply step 61 to it, wherein the signal S₆ replaces the signal S₅, so as to detect any equivalent faults with other signals S₇, S₈.

After step 64, as long as there are signals S₇, S₈, etc. on which the signal S₁₁ depends, steps 62 and 63 are repeated, in which each of the signals S₇, S₈, etc. in turn replaces the signal S₆.

This makes it possible to find a common profile for all the signals that positively verify step 63 for a given signal S₈. This common profile makes it possible to reduce the duration of the testing of a material sample of the circuit for these input signals.

While this invention has been described in conjunction with specific embodiments thereof, it is evident that many alternatives, modifications and variations will be apparent to those skilled in the art. Accordingly, the preferred embodiments of the invention as set forth herein, are intended to be illustrative, not limiting. Various changes may be made without departing from the true spirit and full scope of the invention as set forth herein and defined in the claims. 

1. A method for indicating, in connection with a physical element generating a first signal as a function of a second signal and a plurality of third signals, a combination of states of said third signals such that a state change of said second signal changes said first signal from a binary state to a nonbinary state, wherein two binary decision diagrams are associated with said first signal, and wherein a first binary decision diagram includes a first binary decision subdiagram that encodes a first set of the combinations of binary states of the third signals for which the first signal is in a first binary state or in a second binary state when the second signal is in the first binary state, and a second binary decision subdiagram that encodes a second set of the combinations of binary states of the third signals for which the first signal is in the first binary state or in the second binary state when the second signal is in the second binary state, and a second binary decision diagram includes a third binary decision subdiagram that encodes a third set of the combinations of binary states of the third signals for which the first signal is in the second binary state or in a first nonbinary state when the second signal is in the first binary state and a fourth binary decision subdiagram that encodes a fourth set of the combinations of binary states of the third signals for which the first signal is in the second binary state or in the first nonbinary state when the second signal is in the second binary state said method comprising: a first step that includes forming a first logical combination of the first, second and fourth binary decision subdiagrams, in order to generate a fifth binary decision subdiagram that encodes a fifth set of combinations of states of said third signals, for which the first signal is in a first binary state or a second binary state when the second signal is in the first binary state, the first signal is not in the first binary state or the second binary state when the second signal is in the second binary state, and the first signal is in the second binary state or in the first nonbinary state when the second signal is in the second binary state, so that a change of said second signal, viewed as a control signal with reverse polarity, from the second binary state to the first binary state changes said first signal from a binary state to the first nonbinary state.
 2. A method according to claim 1, wherein a third binary decision diagram is associated with said first signal, wherein the third binary decision diagram includes a sixth binary decision subdiagram that encodes a sixth set of the combinations of binary states of the third signals for which the first signal is in a second nonbinary state when the second signal is in the first binary state (B), and a seventh binary decision subdiagram that encodes a seventh set of the combinations of binary states of the third signals for which the first signal is in a second nonbinary state when the second signal is in the second binary state, and wherein said method further comprises: a second step that includes forming a second logical combination of the first, second, fourth, sixth and seventh binary decision subdiagrams, in order to generate the fifth binary decision subdiagram which encodes an eighth set of combinations of states of said third signals, wherein the first signal is in the second binary state or in the first nonbinary state when the second signal is in the second binary state and the first signal is not in the first binary state or in the second binary state when the second signal is in the second binary state or the first signal is in the second nonbinary state when the second signal is in the second binary state, and wherein the first signal is in the first binary state or in the second binary state when the second signal is in the first binary state and the first signal is not in the second nonbinary state when the second signal is in the first binary state, so that a change of said second signal, viewed as a control signal with reverse polarity, from the second binary state to the first binary state changes said first signal from a binary state to the first or the second nonbinary state.
 3. A method according to claim 2, further comprising: a third step that includes forming a third logical combination of the first, second and third binary decision subdiagrams, in order to generate an eighth binary decision subdiagram that encodes a ninth set of combinations of states of said third signals, for which the first signal is in a first binary state or in a second binary state when the second signal is in the second binary state, the first signal is not in the first binary state or in the second binary state when the second signal is in the first binary state, the first signal is in the second binary state or in the first nonbinary state when the second signal is in the first binary state, so that a change of said second signal, viewed as a control signal with reverse polarity, from the first binary state to the second binary state changes said first signal from a binary state to the first nonbinary state.
 4. A method according to claim 3, further comprising: a fourth step that includes forming a fourth logical combination of the first, second, third, sixth and seventh binary decision subdiagrams, in order to generate the eighth binary decision subdiagram which encodes a tenth set of combinations of states of said third signals, for which the first signal is in the second binary state or in the first nonbinary state when the second signal is in the first binary state and the first signal is not in the first binary state or in the second binary state when the second signal is in the first binary state or the first signal is in the second nonbinary state when the second signal is in the first binary state, and for which the first signal is in the first binary state or in the second binary state when the second signal is in the second binary state and the first signal is not in the second nonbinary state when the second signal is in the second binary state, so that a change of said second signal, viewed as a control signal with reverse polarity, from the first binary state to the second binary state changes said first signal from a binary state to the first or the second nonbinary state.
 5. A method according to claim 4, further comprising: a fifth step that includes forming a fourth binary decision diagram constituted by the fifth binary decision subdiagram when the second signal is in the first binary state and by the eighth binary decision subdiagram when the second signal is in the second binary state, so that a change of said second signal, viewed as control signal with reverse polarity, from the first binary state to the second binary state, or respectively of said second signal, viewed as a control signal with reverse polarity, from the first binary state to the second binary state, changes said first signal from a binary state to the second or the first nonbinary state.
 6. A method according to claim 5, further comprising: a sixth step that includes forming a fifth logical combination of the first, second third and fourth binary decision subdiagrams, in order to generate a fifth binary decision diagram that encodes an eleventh set of combinations of states of said third signals, for which the first signal is in a first binary state or in a second binary state when the second signal is in the first binary state, the first signal is in a first binary state or in a second binary state when the second signal is in the second binary state, the first signal is not in the first binary state or in the second binary state when the second signal is in the first binary state, and the first signal is in the second binary state or in the first nonbinary state when the second signal is in the second binary state, so that a change of said second signal, viewed as a control signal with reverse polarity, from the first binary state to the second binary state, or respectively from the second binary state to the first binary state, changes said first signal from the first binary state to the second binary state, or respectively from the second binary state to the first binary state.
 7. A method according to claim 6, further comprising: a seventh step that includes forming a sixth logical combination of the fifth logical combination and the sixth and seventh binary decision subdiagrams, in order to generate the fifth binary decision diagram, which encodes a twelfth set of combinations of states of said third signals, for which the first signal is not in a second nonbinary state and the first signal is not in the second nonbinary state when the second signal is in the second binary state, so that a change of said second signal, viewed as a control signal with reverse polarity, from the first binary state to the second binary state, or respectively from the second binary state to the first binary state, changes said first signal from the first binary state to the second binary state, or respectively from the second binary state to the first binary state.
 8. A method according to claim 7, further comprising: an eighth step that includes forming a seventh logical combination of the first, second, third and fourth binary decision subdiagrams, in order to generate a sixth binary decision diagram that encodes a thirteenth set of combinations of states of said third signals for which the first signal is in a first binary state or in a second binary state when the second signal is in the first binary state, wherein the first signal is in a first binary state or in a second binary state when the second signal is in the second binary state, the first signal is in the first binary state or in the second binary state when the second signal is in the first binary state, the first signal is not in the second binary state or in the first nonbinary state when the second signal is in the second binary state, so that a change of said second signal, viewed as a control signal with reverse polarity, from the first binary state to the second binary state, or respectively from the second binary state to the first binary state, changes said first signal from the second binary state to the first binary state, or respectively from the first binary state to the second binary state.
 9. A method according to claim 8, further comprising: a ninth step that includes forming an eighth logical combination of the seventh logical combination and the sixth and seventh binary decision subdiagrams, in order to generate the sixth binary decision diagram, which then encodes a fourteenth set of combinations of states of said third signals, for which the first signal is not in a second nonbinary state when the second signal is in the first binary state, and the first signal is not in the second nonbinary state when the second signal is in the second binary state, so that a change of said second signal, viewed as a control signal with reverse polarity, from the first binary state to the second binary state, or respectively from the second binary state to the first binary state, changes said first signal from the first binary state to the second binary state, or respectively from the second binary state to the first binary state.
 10. A method according to claim 9, further comprising: a tenth step that including forming a first logical disjunction of the fifth and sixth binary decision diagrams for a first input signal, an eleventh step that that includes forming a second logical disjunction of the fifth and sixth binary decision diagrams for a second input signal and that performs a logical conjunction of the first and second logical disjunctions, a twelfth step that includes scanning the binary decision diagram corresponding to the logical conjunction obtained in the eleventh step if said corresponding binary decision diagram depends on binary states of signals different from the signals, in order to obtain a logical conjunction of binary states of signals. 